#ifndef FLAMINGDEATH_H
#define FLAMINGDEATH_H

#include<stdint.h>
//#include "navigation.h"
#include "gps_parse.h"

#ifdef __cplusplus
extern "C" {
#endif

/* initialization routine */
void flamingdeath_Init();

/* LED routines */
void flamingdeath_LEDOn();
void flamingdeath_LEDOff();
void flamingdeath_LEDToggle();

/* push button routine */
uint32_t flamingdeath_ButtonRead();

/* bluetooth routines */
void flamingdeath_BTSend(char c);
char flamingdeath_BTRecv();
int flamingdeath_BTRecvReady();
int flamingdeath_BTSendReady();
void flamingdeath_BTFlush();
void print_int(int i);
void print_str(const char* str);


/* GPS routines */
void flamingdeath_GPSSend(char c);
char flamingdeath_GPSRecv();
int flamingdeath_GPSRecvReady();
int flamingdeath_GPSSendReady();
void flamingdeath_GPSFlush();

extern gps_t gps;

/* Compass routines */
extern volatile uint16_t compass_direction_raw;
void flamingdeath_CompassStartRead();

/* result variables for acceleration data */
extern volatile int16_t accel_x_raw;
extern volatile int16_t accel_y_raw;
extern volatile int16_t accel_z_raw;
/* incremented after a write to the acceleration data */
extern volatile uint32_t accel_read_id;

/* servo routines */
void flamingdeath_Steering(int16_t value);
void flamingdeath_Throttle(int16_t value);

#ifdef __cplusplus
}
#endif

#endif
